goal is to protect against catastrophic system failures by reducing the
influence of these malicious nodes.
To avoid a complete failure, the Byzantine General’s problem stands
for a situation where the involved parties must agree on a single
strategy; however, it assumes that some of the involved parties might
be corrupt or unreliable.
PBFT focuses on providing a practical Byzantine state machine
replication that tolerates Byzantine faults (i.e., malicious nodes) by
assuming that there are independent node failures and manipulated
messages sent through specific nodes.
In a PBFT system, nodes are sequentially ordered, with one node
being the leader and others referred to as the backup nodes. All nodes
in the system communicate with one another, and the goal is that all
honest nodes will come to an agreement on the state of the system
using a maj ority rule.
Between the nodes, the two functions of communication are: the
message that came from a specific peer node must be proven by the
nodes, and they must also verify that the message was not modified
during transmission.
The number of malicious nodes must not equal or exceed one-third of
all nodes in the system in a given vulnerability window for the PBFT
system to function. Similar to the proof of work consensus
mechanism, the more nodes there are in a PBFT network, the more
secure it becomes.
The four phases in which the PBFT consensus rounds called views are
broken are as follows:
1. A client sends a request to the leader node to invoke a service
operation.
2. The leading node broadcasts the request to the backup nodes.
3 . U pon the nodes executing the request, a reply is sent to the client.
4. There are f+1 replies received from different nodes with the same
result, where f represents the maximum number of potentially
faulty nodes awaited by the client.